<!--
@license
Copyright (c) 2015 The Polymer Project Authors. All rights reserved.
This code may only be used under the BSD style license found at http://polymer.github.io/LICENSE.txt
The complete set of authors may be found at http://polymer.github.io/AUTHORS.txt
The complete set of contributors may be found at http://polymer.github.io/CONTRIBUTORS.txt
Code distributed by Google as part of the polymer project is also
subject to an additional IP rights grant found at http://polymer.github.io/PATENTS.txt
-->

<link rel="import" href="../../polymer.html">

<dom-module id="x-foo">
  <style>
    #div {
      height: 40px;
      background: red;
    }
  </style>

  <template>
    <div id="div" on-tap="tapHandler"></div>
  </template>

  <script>
    Polymer({
      is: 'x-foo',
      tapHandler: function(e) {
        this._testLocalTarget = Polymer.dom(e).localTarget;
        this._testRootTarget = Polymer.dom(e).rootTarget;
      }
    });
  </script>
</dom-module>

<dom-module id="x-app">

  <template>
    <x-foo id="foo" on-tap="tapHandler"></x-foo>
  </template>

  <script>
    Polymer({
      is: 'x-app',
      tapHandler: function(e) {
        this._testLocalTarget = Polymer.dom(e).localTarget;
        this._testRootTarget = Polymer.dom(e).rootTarget;
      }
    });
  </script>

</dom-module>

<dom-module id="x-setup">
  <template>
    <div id="inner" on-tap="handler" on-track="handler" on-down="handler"
      on-up="handler"></div>
  </template>
  <script>
    Polymer({
      is: 'x-setup',
      listeners: {
        tap: 'handler',
        track: 'handler',
        down: 'handler',
        up: 'handler'
      },
      handler: function(e, detail) {
      }
    });
  </script>
</dom-module>

<dom-module id="x-dynamic">
  <script>
    Polymer({
      is: 'x-dynamic',
      handler: function(){},
      setup: function() {
        this.listen(this, 'tap', 'handler');
      },
      teardown: function() {
        this.unlisten(this, 'tap', 'handler');
      }
    });
  </script>
</dom-module>
